package com.qys.livesMall.financial.model.dto.sys;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Future;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class FinancialOnlineSaveDTO {

    @Schema(description = "线上理财id")
    private Long id;

    @Schema(description = "理财名")
    @NotBlank(message = "please input financial name")
    private String name;

    @Schema(description = "封面图")
    @NotBlank(message = "please input financial name")
    private String cover;

    @Schema(description = "最大金额")
    @NotNull(message = "please input financial name")
    @Min(message = "The interest rate must be greater than zero", value = 0)
    private BigDecimal maxAmount;

    @Schema(description = "利率")
    @NotNull(message = "Please enter the interest rate")
    @Min(message = "The interest rate must be greater than zero", value = 0)
    private BigDecimal interestRate;

    @Schema(description = "收益周期（天数）")
    @NotNull(message = "Please enter the revenue cycle")
    @Min(message = "Revenue cycle must be greater than zero", value = 0)
    private Integer period;

    @Schema(description = "合同模板编码")
    @NotBlank(message = "Please select a contract template")
    private String contractTemplateCode;

    @Schema(description = "限制用户等级")
    @NotNull(message = "Please select a user level")
    private Integer limitUserLevel;

    @Schema(description = "开始时间")
//    @NotNull(message = "Please enter the start time")
    private Long startTime;

    @Schema(description = "周期结束时间")
    private Long finishTime;

    @Schema(description = "实际购买人数")
    private Integer buyUser = 0;

    @Schema(description = "虚拟购买人数")
    private Integer dummyUser = 0;

}
